package customer

import (
	"context"
	cluePb "git.mycaigou.com/gfyx/micro-gfyx-oppty-service/proto/micro_gfyx_oppty_service_proto/micro-gfyx-oppty-service/clue"
)

type CustomerManageServiceIface interface {
	SaveCustomer(ctx context.Context, request *cluePb.SaveCustomerRequest) (*cluePb.SaveCustomerResponse, error)
	DeleteCustomer(ctx context.Context, request *cluePb.DeleteCustomerRequest) (*cluePb.DeleteCustomerResponse, error)
	CustomerList(ctx context.Context, request *cluePb.CustomerListRequest) (*cluePb.CustomerListResponse, error)
	CustomerGroupOption(ctx context.Context, request *cluePb.CustomerGroupOptionRequest) (*cluePb.CustomerGroupOptionResponse, error)
	ImportFile(ctx context.Context, request *cluePb.ImportCustomerRequest) (*cluePb.ImportCustomerResponse, string, error)
	ImportFileByJob(ctx context.Context, fileId, userId int64, rowData [][]string) error
	ImportCustomerList(ctx context.Context, request *cluePb.ImportCustomerListRequest) (*cluePb.ImportCustomerListResponse, error)
	ImportCustomerStatus(ctx context.Context, request *cluePb.ImportCustomerStatusRequest) (*cluePb.ImportCustomerStatusResponse, error)
	ImportCustomerEdit(ctx context.Context, request *cluePb.ImportCustomerEditRequest) error
	ImportCustomerDelete(ctx context.Context, request *cluePb.ImportCustomerDeleteRequest) error
	ImportCustomerCount(ctx context.Context, request *cluePb.ImportCustomerCountRequest) (*cluePb.ImportCustomerCountResponse, error)
	QueryExportCustomerBatchData(ctx context.Context, condition interface{}, batchNum, batchSize int32) (rowTitle []string, rowData [][]string, err error)
	UpdateCustomerByCron(ctx context.Context) (string, error)
}
